<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <title></title>
    <link rel="Stylesheet" href="css/analysis.css" />
    <script type="text/javascript">
        function init() {
            if (window.location.hash) {
                var parentDiv, nodes, i, helpInfo, helpId, helpInfoArr, helpEnvFilter, envContent, hideEnvClass, hideNodes;
                helpInfo = window.location.hash.substring(1);
                    if(helpInfo.indexOf("-")) {
                        helpInfoArr = helpInfo.split("-");
                        helpId = helpInfoArr[0];
                        helpEnvFilter = helpInfoArr[1];
                    }
                    else {
                        helpId = helpInfo;
                    }
                parentDiv = document.getElementById("topics");
                nodes = parentDiv.children;
                    hideEnvClass = (helpEnvFilter === "OnlineOnly"? "PortalOnly": "OnlineOnly");
                    if(document.getElementsByClassName) {
                        hideNodes = document.getElementsByClassName(hideEnvClass);
                    }
                    else {
                        hideNodes = document.querySelectorAll(hideEnvClass);
                    }
                for(i=0; i < nodes.length; i++) {
                    if(nodes[i].id !== helpId) {
                        nodes[i].style.display ="none";
                    }
                    }
                    for(i=0; i < hideNodes.length; i++) {
                        hideNodes[i].style.display ="none";
                    }
                }
            }
    </script>
</head>
<body onload="init()">
<div id="topics">
    <div id="toolDescription" class="largesize">
        <h2>Find Dwell Locations</h2><p/>
        <h2><img src="./images/GUID-6BFF03DF-ECE3-4666-8A93-42C7BA85CC7B-web.png" alt="Find Dwell Locations workflow diagram"></h2>
        <hr/>
    <p>This tool works with a time-enabled layer of
point features that are of type  <code>instant</code>.   First, the tool assigns features to a track using a unique identifier. Track order is determined by the time of features. Next, the distance between the first observation in a track and the next is calculated. Features are considered to be part of a dwell if two temporally  consecutive points stay within the given distance for at least the given duration. When two features are found to be part of a dwell, the first feature in the dwell is used as a reference point, and the tool  finds consecutive features that are within the specified distance of the reference point in the dwell. Once all features within the specified distance are found, the tool collects the dwell features and calculates their mean center. Features before and after the current dwell are added to the dwell if they are within the given distance of the dwell location's mean center. This process continues until the end of the track.
    </p>
    <p>Features in time-enabled layers can be represented in one of the following ways:
        <ul>
            <li>Instant&mdash;A single moment in time
            </li>
            <li>Interval&mdash;A start and end time
            </li>
        </ul>
        
    </p>
    <p>For example, suppose you work for the Department of Transportation and have collected GPS readings for vehicles on major highways. Each GPS record contains a unique vehicle ID, the time, location, and speed. Using the unique vehicle ID to define individual tracks, search for vehicles that have not moved more than 100 meters in at least 15 minutes to uncover troublesome areas in the road network. Additionally, you could calculate statistics such as the mean speed of the vehicles within the dwell location.
    </p>
    </div>
    <!--Parameter divs for each param-->
    <div id="inputLayer">
        <div><h2>Choose the layer to find dwells from</h2></div>
        <hr/>
        <div>
            <p>The point layer that will be summarized into dwells. The input layer must be time-enabled with features that represent an instant in time, as well as have one or more fields that can be used to identify tracks.
            </p>
            <p>In addition to choosing a layer from your map, you can choose  <b>Choose Analysis Layer</b> at the bottom of the drop-down list to browse to your contents for a big data file share dataset or feature layer. You may optionally apply a filter on your input layer or apply a selection on hosted layers added to your map. Filters and selections are only applied for analysis. 
            </p>
        </div>
    </div>
    <div id="trackFields">
        <div><h2>Select one or more fields to identify tracks</h2></div>
        <hr/>
        <div>
            <p>Fields that represent the track identifier.
You can use one field or multiple fields to represent unique values of tracks.
            </p>
            <p>For example, if you were finding dwell locations for hurricanes, you could use the hurricane name as the track field.
            </p>
        </div>
    </div>
    <div id="distanceMethod">
        <div><h2>Choose the method to calculate distance</h2></div>
        <hr/>
        <div>
            <p>Method used to calculate the dwell distance within tracks. The  <b>Planar</b> method may calculate the results more quickly but will not wrap tracks around the  international date line or account for the actual shape of the earth when buffering. The <b>Geodesic</b> method will wrap tracks around the international date line if required and apply a geodesic buffer to account for the shape of the earth.
            </p>
        </div>
    </div>
    <div id="distanceTolerance">
        <div><h2>Define the spatial search distance</h2></div>
        <hr/>
        <div>
            <p>The dwell distance tolerance is the maximum distance between points to be considered in a single dwell location.
            </p>
            <p>For example, if you are interested in finding dwells where traffic has not moved more than 20 meters within a certain time, the distance tolerance would be 20 meters.
            </p>
            <p>Use the parameter  <b>Define the temporal search range</b> to specify the time.
            </p>
        </div>
    </div>
    <div id="distanceToleranceUnit">
        <div><h2>Split tracks (optional)</h2></div>
        <hr/>
        <div>
            <p>The unit of the distance tolerance.
            </p> 
        </div>
    </div>
    <div id="timeTolerance">
        <div><h2>Define the temporal search range</h2></div>
        <hr/>
        <div>
            <p>The dwell time tolerance is the minimum time duration of a dwell to be considered in a single dwell location.
            </p>
            <p>For example, if you want to know where traffic hasn't moved a certain distance within an hour, the time tolerance would be 1 hour.
            </p>
            <p>Use the parameter  <b>Define the spatial search range</b> to specify the distance.
            </p>
        </div>
    </div>
    <div id="timeToleranceUnit">
        <div><h2>Select a distance to split tracks by (optional)</h2></div>
        <hr/>
        <div>
            <p>The unit of the time tolerance.
            </p> 
        </div>
    </div>
    <div id="summaryFields">
        <div><h2>Add statistics (optional)</h2></div>
        <hr/>
        <div>
            <p>You can calculate statistics on features that are summarized. You can calculate the following on numeric fields: 
                <ul>
                    <li>Count&mdash;Calculates the number of nonnull values. It can be used on numeric fields or strings. The count of [null, 0, 2] is 2.
                    </li>
                    <li>Sum&mdash;The sum of numeric values in a field. The sum of [null, null, 3] is 3.
                    </li>
                    <li>Mean&mdash;The mean of numeric values. The mean of [0, 2, null] is 1.
                    </li>
                    <li>Min&mdash;The minimum value of a numeric field. The minimum of [0, 2, null] is 0. 
                    </li>
                    <li>Max&mdash;The maximum value of a numeric field. The maximum value of [0, 2, null] is 2.
                    </li>
                    <li>Range&mdash;The range of a numeric field. This is calculated as the minimum values subtracted from the maximum value. The range of [0, null, 1] is 1. The range of [null, 4] is 0.
                    </li>
                    <li>Variance&mdash;The variance of a numeric field in a track. The  variance of [1] is null. The variance of [null, 1,0,1,1] is 0.25.
                    </li>
                    <li>Standard deviation&mdash;The standard deviation of a numeric field. The standard deviation of [1] is null. The standard deviation of [null, 1,0,1,1] is 0.5. 
                    </li>
                    <li>First&mdash;The first value of a specified field in the summarized track. If a track has the following time-ordered values for a field: [1,5,10,20], the first value is 1.
                    </li>
                    <li>Last&mdash;The last value of a specified field in the summarized track. If a track has the following time-ordered values for a field: [1,5,10,20], the last value is 20.
                    </li>
                </ul>
                
            </p>
            <p>You can calculate the following on string fields:
                <ul>
                    <li>Count&mdash;The number of nonnull strings.
                    </li>
                    <li>Any&mdash;This statistic is a random sample of a string value in the specified field.
                    </li>
                    <li>First&mdash;The first value of a specified field in the summarized track. If a track has the following time-ordered values for a field: [Toronto,Guelph,Squamish,Montreal,Halifax,Redlands,Boston], the first value is Toronto.
                    </li>
                    <li>Last&mdash;The last value of a specified field in the summarized track. If a track has the following time-ordered values for a field: [Toronto,Guelph,Squamish,Montreal,Halifax,Redlands,Boston], the last value is Boston.
                    </li>
                </ul>
                All statistics are calculated on nonnull values. The resulting layer will contain a new field for each statistic calculated. Any number of statistics can be added by choosing an attribute and statistic.
            </p>
        </div>
    </div>
    <div id="outputType">
        <div><h2>Output dwell locations as</h2></div>
        <hr/>
        <div>
            <p>Determines which features are returned and the format. Four types are available: 
                <ul>
                    <li> <b>Mean Centers</b>&mdash;A point representing the centroid of each discovered dwell location. Attributes will be summarized. This is the default.
                         
                    </li>
                    <li> <b>Convex Hulls</b>&mdash;Polygons representing the convex hull of each dwell group. Attributes will be summarized.
                         
                    </li>
                    <li> <b>Dwell Features</b>&mdash;All of the input point features and attributes determined to belong to a dwell are returned.
                         
                    </li>
                    <li> <b>All Features</b>&mdash;All of the input point features and attributes are returned.
                         
                    </li>
                </ul>
                
            </p>
        </div>
    </div>
    <div id="timeBoundarySplit">
        <div><h2>Analyze data with time intervals (optional)</h2></div>
        <hr/>
        <div>
            <p>Specify if you want to look for dwell locations using time intervals which segment your input features for analysis. If you use time intervals you must set the time interval you want to use, and optionally set the reference time. If you don't set a reference time, Jan 1, 1970 will be used. 
            </p>
            <p>For example, if you set the time boundary to be 1 day, starting at 9:00 AM on January 1st, 1990, than each track will be truncated at 9:00 am for every day and analyzed within that segment. No dwells will start before 9:00 AM and end afterwards. 
            </p>
            <p>Using time intervals is a fast way to accelerate computing time, as it quickly creates smaller tracks for analysis. If splitting by a reoccurring time interval makes sense for your analysis, it is recommend for big data processing.
            </p>
        </div>
    </div>
    <div id="outputName">
        <div><h2>Result layer name</h2></div>
        <hr/>
        <div>
            <p> The name of the layer that will be created.  If you are writing to an ArcGIS Data Store, your results will be saved in  <b>My
Content</b> and added to the map. If you are writing to a big data file share, your results will be stored in the big data file share and added to its manifest. It will not be added to the map. The default name is based on the
tool name and the input layer name. If the layer already exists, the tool will fail.
            </p>
            <p>When writing to   ArcGIS Data Store  (relational or spatiotemporal big data store) using the  <b>Save result in</b> drop-down box, you can specify
the name of a folder in <b>My Content</b> where the result will be
saved.
            </p>
        </div>
    </div>
</div>
</html>
